home *** CD-ROM | disk | FTP | other *** search
/ Explore America - A Compl… Multimedia Travel Guide / Explore America - A Complete Multimedia Travel Guide.iso / setup.ms_ / setup.bin
Text File  |  1995-08-16  |  7KB  |  241 lines

  1. '**************************************************************************
  2. '*                  Explore America! Setup
  3. '**************************************************************************
  4.  
  5. '$INCLUDE 'setupapi.inc'
  6. ''$INCLUDE 'mscpydis.inc'    ''System
  7. '$INCLUDE 'msdetect.inc'    ''Detects Avalilable Disk Space
  8.  
  9. ''Dialog ID's
  10. CONST WELCOME       = 100
  11. CONST ASKQUIT       = 200
  12. CONST DESTPATH      = 300
  13. CONST EXITFAILURE   = 400
  14. CONST EXITQUIT      = 600
  15. CONST EXITSUCCESS   = 700
  16. CONST OPTIONS       = 800
  17. CONST APPHELP       = 900
  18. CONST APPHELP2      = 1500
  19. CONST APPHELP3      = 1700
  20. CONST CHECK         = 2500
  21. CONST TOOBIG        = 6300
  22. CONST BADPATH       = 6400
  23.  
  24. CONST EW_REBOOTSYSTEM  = 67
  25. CONST EW_RESTARTWINDOWS  = 66
  26.  
  27. ''Bitmap ID
  28. CONST LOGO = 1
  29.  
  30. ''Disk Sizes
  31.  
  32. GLOBAL File1
  33. GLOBAL File2
  34. GLOBAL WantedDiskSize&
  35.  
  36. ''File Types
  37. GLOBAL DEST$        ''Default destination directory.
  38. GLOBAL DESTICONS$  ''Default destination subdirectory.
  39. GLOBAL WINDRIVE$    ''Windows Drive Letter.
  40. GLOBAL SRCDRIVE$    ''Source Drive Letter.
  41. GLOBAL OPTCUR$      ''Option selection from option dialog.
  42. GLOBAL CHECKSTATES$
  43. GLOBAL RUNTIME$
  44. GLOBAL AVITOOLS$
  45. GLOBAL MDKTOOLS$
  46. GLOBAL TOOLS$
  47. GLOBAL RET%
  48.  
  49. SrcDir$ = GetSymbolValue("STF_SRCDIR")
  50. WinDir$ = GetWindowsDir()
  51. WinSysDir$ = GetWindowsSysDir()
  52.  
  53. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  54. DECLARE FUNCTION ExitWindows LIB "user" ( mode&, reserved% ) AS INTEGER
  55.  
  56. INIT:
  57.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  58.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  59.  
  60.     MajorVer% = GetWindowsMajorVersion()
  61.     MinorVer% = GetWindowsMinorVersion()
  62.  
  63.     IF  MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  64.     i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  65.         END
  66.     END IF
  67.  
  68.     SetBitmap CUIDLL$, LOGO
  69.     SetTitle "Explore America!"
  70.  
  71.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  72.     IF szInf$ = "" THEN
  73.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  74.     END IF
  75.     ReadInfFile szInf$
  76.  
  77.     WINDRIVE$ = MID$(WinDir$, 1, 1)
  78.     SRCDRIVE$ = MID$(SrcDir$, 1, 1)
  79.     DEST$ = "C:\explore"
  80.  
  81.  
  82. WELCOME:
  83.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  84.     IF sz$ = "CONTINUE" THEN
  85.         UIPop 1
  86.     ELSE
  87.         GOSUB ASKQUIT
  88.         GOTO WELCOME
  89.     END IF
  90.  
  91.  
  92. GETPATH:
  93.     SetSymbolValue "EditTextIn", DEST$
  94.     SetSymbolValue "EditFocus", "END"
  95. GETPATHL1:
  96.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  97.     DEST$ = GetSymbolValue("EditTextOut")
  98.  
  99.     IF sz$ = "CONTINUE" THEN
  100.         IF IsDirWritable(DEST$) = 0 THEN
  101.             GOSUB BADPATH
  102.             GOTO GETPATHL1
  103.          END IF
  104.         UIPop 1
  105.     ELSEIF sz$ = "REACTIVATE" THEN
  106.         GOTO GETPATHL1
  107.     ELSE
  108.         GOSUB ASKQUIT
  109.         GOTO GETPATH
  110.     END IF
  111.  
  112.  
  113.     
  114.  
  115. ClearCopyList
  116.  
  117.         WantedDiskSize&=5024000
  118.  
  119.         DiskSize&=GetFreeSpaceForDrive(WINDRIVE$)
  120.  
  121.         If WantedDiskSize& > DiskSize& then
  122.             GOSUB TOOBIG
  123.             ERROR STFQUIT
  124.         EndIf
  125.  
  126.  
  127.     CreateDir DEST$, cmoNone
  128.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  129.     
  130.  
  131.     WriteToLogFile ""
  132.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  133.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  134.     WriteToLogFile ""
  135.     WriteToLogFile "May have had to create the directory: " + DEST$
  136.     WriteToLogFile ""
  137.  
  138.  
  139.  '' Install font here
  140.    ' 'WriteToLogFile "Adding font"
  141.     ''CreateIniKeyValue "win.ini", "fonts", "Calligraphic 421 BT (TrueType)", "TT1139M_.FOT", cmoOverwrite
  142.  
  143.  
  144.    ' SetRestartDir WinDir$
  145.  
  146. '' Setting RUNTIME files to be copied
  147.     AddSectionFilesToCopyList "vbrun", SrcDir$, WinSysDir$
  148.     AddSectionFilesToCopyList "app", SrcDir$, Dest$
  149.     
  150.     CopyFilesInCopyList
  151.  
  152.     '** create progman group **
  153.     CreateProgmanGroup "Explore America!", "", cmoNone
  154.  
  155.     ShowProgmanGroup  "Explore America!", 1, cmoNone
  156.     CreateProgmanItem "Explore America!", "Explore America!", MakePath(DEST$, "explore.exe ") + MakePath(SRCDRIVE$,""), "", cmoOverwrite
  157.     CreateProgmanItem "Explore America!", "Read Me Now!", MakePath(DEST$,"readme.wri") , "", cmoOverwrite
  158.     CreateProgmanItem "Explore America!", "VfW 1.1 Install",MakePath( SrcDir$, "VFW11\setup.exe") , "", cmoOverwrite
  159.     CreateProgmanItem "Explore America!", "Free Software Registration",MakePath( SrcDir$, "ERC\register.exe") , "", cmoOverwrite    
  160.     CloseLogFile
  161.  
  162.    ' use exit restart
  163.  
  164.     RET% = DoMsgBox( "After the install is completed please click the Read Me Now icon in the program group.", "Setup", IDOK+MB_TASKMODAL )
  165.    '' RET% = ExitWindows( EW_RESTARTWINDOWS, 0 )
  166.  
  167. QUIT:
  168.     ON ERROR GOTO ERRQUIT
  169.  
  170.     IF ERR = 0 THEN
  171.         dlg% = EXITSUCCESS
  172.     ELSEIF ERR = STFQUIT THEN
  173.         dlg% = EXITQUIT
  174.     ELSE
  175.         dlg% = EXITFAILURE
  176.     END IF
  177. QUITL1:
  178.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  179.     IF sz$ = "REACTIVATE" THEN
  180.         GOTO QUITL1
  181.     END IF
  182.     UIPop 1
  183.  
  184.     END
  185.  
  186. ERRQUIT:
  187.     i% = DoMsgBox("Setup sources were corrupted, call the included support number", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  188.     END
  189.  
  190. ASKQUIT:
  191.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  192.  
  193.     IF sz$ = "EXIT" THEN
  194.         UIPopAll
  195. ''        ERROR STFQUIT
  196.         END
  197.     ELSEIF sz$ = "REACTIVATE" THEN
  198.         GOTO ASKQUIT
  199.     ELSE
  200.         UIPop 1
  201.     END IF
  202.     RETURN
  203.  
  204. TOOBIG:
  205.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  206.     IF sz$ = "REACTIVATE" THEN
  207.         GOTO TOOBIG
  208.     END IF
  209.     UIPop 1
  210.     RETURN
  211.  
  212. '**
  213. '** Purpose:
  214. '**     Appends a file name to the end of a directory path,
  215. '**     inserting a backslash character as needed.
  216. '** Arguments:
  217. '**     szDir$  - full directory path (with optional ending "\")
  218. '**     szFile$ - filename to append to directory
  219. '** Returns:
  220. '**     Resulting fully qualified path name.
  221. '*************************************************************************
  222. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  223.     IF szDir$ = "" THEN
  224.         MakePath = szFile$
  225.     ELSEIF szFile$ = "" THEN
  226.         MakePath = szDir$
  227.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  228.         MakePath = szDir$ + szFile$
  229.     ELSE
  230.         MakePath = szDir$ + "\" + szFile$
  231.     END IF
  232. END FUNCTION
  233.  
  234. BADPATH:
  235.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  236.     IF sz$ = "REACTIVATE" THEN
  237.         GOTO BADPATH
  238.     END IF
  239.     UIPop 1
  240.     RETURN
  241.